home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / unixSyscall / getitimer.c < prev    next >
C/C++ Source or Header  |  1988-06-19  |  2KB  |  100 lines

  1. /* 
  2.  * getitimer.c --
  3.  *
  4.  *    Procedure to map the Unix getitimer and setitimer system calls 
  5.  *    to Sprite.
  6.  *
  7.  * Copyright 1986 Regents of the University of California
  8.  * All rights reserved.
  9.  */
  10.  
  11. #ifndef lint
  12. static char rcsid[] = "$Header: getitimer.c,v 1.1 88/06/19 14:31:24 ouster Exp $ SPRITE (Berkeley)";
  13. #endif not lint
  14.  
  15. #include "sprite.h"
  16. #include "fs.h"
  17. #include "proc.h"
  18.  
  19. #include <sys/time.h>
  20.  
  21. #include "compatInt.h"
  22.  
  23.  
  24. /*
  25.  *----------------------------------------------------------------------
  26.  *
  27.  * getitimer --
  28.  *
  29.  *    Procedure for the Unix getitimer call. 
  30.  *
  31.  * Results:
  32.  *    UNIX_SUCCESS if the Sprite return returns SUCCESS.
  33.  *    Otherwise, UNIX_ERROR and errno is set to the Unix equivalent
  34.  *    status.
  35.  *
  36.  * Side effects:
  37.  *    None.
  38.  *
  39.  *----------------------------------------------------------------------
  40.  */
  41.  
  42. int
  43. getitimer(which, value)
  44.     int which;
  45.     struct itimerval *value;
  46. {
  47.     ReturnStatus status;
  48.  
  49.     /*
  50.      * The Sprite and Unix timer values have the same layout.
  51.      */
  52.     status = Proc_GetIntervalTimer(which, (Proc_TimerInterval *) value);
  53.     if (status != SUCCESS) {
  54.     errno = Compat_MapCode(status);
  55.     return(UNIX_ERROR);
  56.     } else {
  57.     return(UNIX_SUCCESS);
  58.     }
  59. }
  60.  
  61. /*
  62.  *----------------------------------------------------------------------
  63.  *
  64.  * setitimer --
  65.  *
  66.  *    Procedure for the Unix setitimer call. 
  67.  *
  68.  * Results:
  69.  *    UNIX_SUCCESS if the Sprite return returns SUCCESS.
  70.  *    Otherwise, UNIX_ERROR and errno is set to the Unix equivalent
  71.  *    status.
  72.  *
  73.  * Side effects:
  74.  *    None.
  75.  *
  76.  *----------------------------------------------------------------------
  77.  */
  78.  
  79. int
  80. setitimer(which, value, ovalue)
  81.     int which;
  82.     struct itimerval *value;
  83.     struct itimerval *ovalue;
  84. {
  85.     ReturnStatus status;
  86.  
  87.     /*
  88.      * The Sprite and Unix timer values have the same layout.
  89.      */
  90.     status = Proc_SetIntervalTimer(which, 
  91.         (Proc_TimerInterval *) value,
  92.         (Proc_TimerInterval *) ovalue);
  93.     if (status != SUCCESS) {
  94.     errno = Compat_MapCode(status);
  95.     return(UNIX_ERROR);
  96.     } else {
  97.     return(UNIX_SUCCESS);
  98.     }
  99. }
  100.